const router = require('koa-router')();
const { UserModel } = require('../mysql/user');

// 用户注册功能
router.post('/user/register', async (ctx, next) => {
    const data = await UserModel.findByName(ctx.body.username);
    if (data === null) {
      const isCreate = UserModel.insertUser(ctx.body);
      if (isCreate === true) {
          ctx.body = {
              code: 201,
              message: '用户创建成功'
          }
      }
      if (isCreate === false) {
          ctx.body = {
              code: 501,
              message: '用户创建失败'
          }
      }
    }
    else {
      ctx.body = {
            code: 504,
            message: '该用户名已存在'
      }
    }
    next();
})

// 用户登录功能
router.post('/user/login', async (ctx, next) => {
    ctx.body = '登录功能'
    next();
})

// 更新用户信息
// 更新接口复用

async function update(newObj, key, value) {
    // key 为 option对象
    if (key instanceof Object) {
        await UserModel.updateUser(newObj, key);
    }
    // key-value 单一选项修改
    else {
        await UserModel.updateUser(newObj, {
            [key] : value,
        });
    }
}



router.post('/user/update/', async (ctx, next) => {
    // 根据id 修改用户信息
    try {
        await update(ctx.body, 'id', 3);
    }catch (err) {
        console.error(err);
    }
    next();
})

module.exports = router.routes();